/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.tb_waybill.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.modules.tb_car_info.entity.TbCarInfo;
import com.thinkgem.jeesite.modules.tb_cost.entity.TbCost;
import com.thinkgem.jeesite.modules.tb_driver.entity.TbDriver;
import com.thinkgem.jeesite.modules.tb_fuel_consumption.entity.TbFuelConsumption;
import com.thinkgem.jeesite.modules.tb_goods_consignment_company.entity.TbGoodsConsignmentCompany;

import com.thinkgem.jeesite.modules.tb_loading_address.entity.TbLoadingAddress;
import com.thinkgem.jeesite.modules.tb_out_car_register.entity.TbOutCarRegister;

/**
 * 运单管理Entity
 * @author ZhangYangZe
 * @version 2017-05-15
 */
public class TbWaybill extends DataEntity<TbWaybill> {
	
	private static final long serialVersionUID = 1L;
	
	private String classType;//0油瓶消耗1费用
	private String get_id;//其他ID（运输总审核时用）
	
	private String waybillNum;		// 订单编号（内部码）
	private String consignmentId;		// 托运方
	private String loadingAddressId;		// 装货地址
	private String loadingAddressTwoId;		// 装货地址
	private String state;		// 运单状态
	private String carId;		// 车辆
	private String driverId;		// 司机
	private String driverTwoId;		// 司机2
	private Date beginCreateDate;		// 开始 创建时间
	private Date endCreateDate;		// 结束 创建时间
	private String persion; //联系人
	private String tell; //联系电话
	private String registerState;//出车登记状态
	private Date outCarTime;//出车时间
	private Integer number;//拉货地址数
		
	private TbWaybillDetail tbWaybillDetailOne;  //货物运输
	private TbWaybillDetail tbWaybillDetailTwo;   //货物运输
	private TbWaybillDetail tbWaybillDetailThree;  //货物运输		
	//Entity
	private TbCarInfo tbCarInfo;//车
	private TbDriver tbDriver;//司机
	private TbDriver tbDriverTwo;//司机	
	private TbLoadingAddress tbLoadingAddress;//装货地址
	private TbLoadingAddress tbLoadingAddressTwo;//装货地址	
	private TbGoodsConsignmentCompany tbGoodsConsignmentCompany;//托运公司
		
	private TbFuelConsumption fuelConsumption;// 油品消耗
	private TbCost cost;//费用
	private TbOutCarRegister tbOutCarRegister;// 出车登记
		
	public TbOutCarRegister getTbOutCarRegister() {
		return tbOutCarRegister;
	}

	public void setTbOutCarRegister(TbOutCarRegister tbOutCarRegister) {
		this.tbOutCarRegister = tbOutCarRegister;
	}

	public TbWaybill() {
		super();
	}

	public TbWaybill(String id){
		super(id);
	}

	
	
	public String getDriverTwoId() {
		return driverTwoId;
	}

	public void setDriverTwoId(String driverTwoId) {
		this.driverTwoId = driverTwoId;
	}

	public String getPersion() {
		return persion;
	}

	public void setPersion(String persion) {
		this.persion = persion;
	}

	public String getTell() {
		return tell;
	}

	public void setTell(String tell) {
		this.tell = tell;
	}

	@Length(min=1, max=50, message="订单编号（内部码）长度必须介于 1 和 50 之间")
	public String getWaybillNum() {
		return waybillNum;
	}

	public void setWaybillNum(String waybillNum) {
		this.waybillNum = waybillNum;
	}
	
	@Length(min=1, max=50, message="托运方长度必须介于 1 和 50 之间")
	public String getConsignmentId() {
		return consignmentId;
	}

	public void setConsignmentId(String consignmentId) {
		this.consignmentId = consignmentId;
	}
	
	/*@Length(min=1, max=50, message="收货方长度必须介于 1 和 50 之间")
	public String getReceiptId() {
		return receiptId;
	}

	public void setReceiptId(String receiptId) {
		this.receiptId = receiptId;
	}*/
	
	@Length(min=1, max=50, message="装货地址长度必须介于 1 和 50 之间")
	public String getLoadingAddressId() {
		return loadingAddressId;
	}

	public void setLoadingAddressId(String loadingAddressId) {
		this.loadingAddressId = loadingAddressId;
	}
	
	@Length(min=1, max=50, message="装货地址长度必须介于 1 和 50 之间")
	public String getLoadingAddressTwoId() {
		return loadingAddressTwoId;
	}

	public void setLoadingAddressTwoId(String loadingAddressTwoId) {
		this.loadingAddressTwoId = loadingAddressTwoId;
	}
	
	/*@Length(min=1, max=50, message="卸货地址长度必须介于 1 和 50 之间")
	public String getDischargeCargoAddressId() {
		return dischargeCargoAddressId;
	}

	public void setDischargeCargoAddressId(String dischargeCargoAddressId) {
		this.dischargeCargoAddressId = dischargeCargoAddressId;
	}*/
	
	
	//@Length(min=0, max=1, message="运单状态长度必须介于 0 和 1 之间")
	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}
	
	@Length(min=0, max=50, message="车辆长度必须介于 0 和 50 之间")
	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}
	
	@Length(min=0, max=50, message="司机长度必须介于 0 和 50 之间")
	public String getDriverId() {
		return driverId;
	}

	public void setDriverId(String driverId) {
		this.driverId = driverId;
	}
	
	public Date getBeginCreateDate() {
		return beginCreateDate;
	}

	public void setBeginCreateDate(Date beginCreateDate) {
		this.beginCreateDate = beginCreateDate;
	}
	
	public Date getEndCreateDate() {
		return endCreateDate;
	}

	public void setEndCreateDate(Date endCreateDate) {
		this.endCreateDate = endCreateDate;
	}

	
	
	
	
	public TbWaybillDetail getTbWaybillDetailOne() {
		return tbWaybillDetailOne;
	}

	public void setTbWaybillDetailOne(TbWaybillDetail tbWaybillDetailOne) {
		this.tbWaybillDetailOne = tbWaybillDetailOne;
	}

	public TbWaybillDetail getTbWaybillDetailTwo() {
		return tbWaybillDetailTwo;
	}

	public void setTbWaybillDetailTwo(TbWaybillDetail tbWaybillDetailTwo) {
		this.tbWaybillDetailTwo = tbWaybillDetailTwo;
	}

	public TbWaybillDetail getTbWaybillDetailThree() {
		return tbWaybillDetailThree;
	}

	public void setTbWaybillDetailThree(TbWaybillDetail tbWaybillDetailThree) {
		this.tbWaybillDetailThree = tbWaybillDetailThree;
	}

	public TbCarInfo getTbCarInfo() {
		return tbCarInfo;
	}

	public void setTbCarInfo(TbCarInfo tbCarInfo) {
		this.tbCarInfo = tbCarInfo;
	}

	public TbDriver getTbDriver() {
		return tbDriver;
	}

	public void setTbDriver(TbDriver tbDriver) {
		this.tbDriver = tbDriver;
	}

	

	public TbLoadingAddress getTbLoadingAddress() {
		return tbLoadingAddress;
	}

	public void setTbLoadingAddress(TbLoadingAddress tbLoadingAddress) {
		this.tbLoadingAddress = tbLoadingAddress;
	}

	

	public TbGoodsConsignmentCompany getTbGoodsConsignmentCompany() {
		return tbGoodsConsignmentCompany;
	}

	public void setTbGoodsConsignmentCompany(TbGoodsConsignmentCompany tbGoodsConsignmentCompany) {
		this.tbGoodsConsignmentCompany = tbGoodsConsignmentCompany;
	}

	

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public TbDriver getTbDriverTwo() {
		return tbDriverTwo;
	}

	public void setTbDriverTwo(TbDriver tbDriverTwo) {
		this.tbDriverTwo = tbDriverTwo;
	}

	public String getRegisterState() {
		return registerState;
	}

	public void setRegisterState(String registerState) {
		this.registerState = registerState;
	}

	public Date getOutCarTime() {
		return outCarTime;
	}

	public void setOutCarTime(Date outCarTime) {
		this.outCarTime = outCarTime;
	}

	public TbLoadingAddress getTbLoadingAddressTwo() {
		return tbLoadingAddressTwo;
	}

	public void setTbLoadingAddressTwo(TbLoadingAddress tbLoadingAddressTwo) {
		this.tbLoadingAddressTwo = tbLoadingAddressTwo;
	}

	public Integer getNumber() {
		return number;
	}

	public void setNumber(Integer number) {
		this.number = number;
	}

	public TbFuelConsumption getFuelConsumption() {
		return fuelConsumption;
	}

	public void setFuelConsumption(TbFuelConsumption fuelConsumption) {
		this.fuelConsumption = fuelConsumption;
	}

	public TbCost getCost() {
		return cost;
	}

	public void setCost(TbCost cost) {
		this.cost = cost;
	}
	
	public String getClassType() {
		return classType;
	}

	public void setClassType(String classType) {
		this.classType = classType;
	}

	public String getGet_id() {
		return get_id;
	}

	public void setGet_id(String get_id) {
		this.get_id = get_id;
	}
	
		
}